// --------------------------------------------------------------------------------------------------------------------
// <copyright file="SummaryReport.cs" company="Concept Architecture">
//   (c) 2010 Muhammad Umer Farooq
// </copyright>
// <summary>
//   Defines the <seealso cref="SummaryReport" /> type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Hisaab.Client.Model
{
    /// <summary>
    /// Defines the <seealso cref="SummaryReport"/> type.
    /// </summary>
    public class SummaryReport : ModelBase
    {
        /// <summary>
        /// Member variable _income
        /// </summary>
        private decimal _income;

        /// <summary>
        /// Member variable _expanse
        /// </summary>
        private decimal _expanse;

        /// <summary>
        /// Member variable _totalWorth
        /// </summary>
        private decimal _totalWorth;

        /// <summary>
        /// Member variable _expectedSaving
        /// </summary>
        private decimal _expectedSaving;

        /// <summary>
        /// Member variable _percentIncomeChange
        /// </summary>
        private decimal _percentIncomeChange;

        /// <summary>
        /// Member variable _percentExpanseChange
        /// </summary>
        private decimal _percentExpanseChange;

        /// <summary>
        /// Gets or sets the income.
        /// </summary>
        /// <value>
        /// The income.
        /// </value>
        public decimal Income
        {
            get
            {
                return _income;
            }

            set
            {
                _income = value;
                RaisePropertyChangedEvent("Income");
            }
        }

        /// <summary>
        /// Gets or sets the expanse.
        /// </summary>
        /// <value>
        /// The expanse.
        /// </value>
        public decimal Expanse
        {
            get
            {
                return _expanse;
            }

            set
            {
                _expanse = value;
                RaisePropertyChangedEvent("Expanse");
            }
        }

        /// <summary>
        /// Gets or sets the total worth.
        /// </summary>
        /// <value>
        /// The total worth.
        /// </value>
        public decimal TotalWorth
        {
            get
            {
                return _totalWorth;
            }

            set
            {
                _totalWorth = value;
                RaisePropertyChangedEvent("TotalWorth");
            }
        }

        /// <summary>
        /// Gets or sets the expected saving.
        /// </summary>
        /// <value>
        /// The expected saving.
        /// </value>
        public decimal ExpectedSaving
        {
            get
            {
                return _expectedSaving;
            }

            set
            {
                _expectedSaving = value;
                RaisePropertyChangedEvent("ExpectedSaving");
            }
        }

        /// <summary>
        /// Gets or sets the percent change.
        /// </summary>
        /// <value>
        /// The percent change.
        /// </value>
        public decimal PercentIncomeChange
        {
            get
            {
                return _percentIncomeChange;
            }

            set
            {
                _percentIncomeChange = value;
                RaisePropertyChangedEvent("PercentIncomeChange");
            }
        }

        /// <summary>
        /// Gets or sets the percent change.
        /// </summary>
        /// <value>
        /// The percent change.
        /// </value>
        public decimal PercentExpanseChange
        {
            get
            {
                return _percentExpanseChange;
            }

            set
            {
                _percentExpanseChange = value;
                RaisePropertyChangedEvent("PercentExpanseChange");
            }
        }
    }
}